home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The X-Philes (2nd Revision)
/
The X-Philes Number 1 (1995).iso
/
xphiles
/
hp48hor2
/
garbage.doc
< prev
next >
Wrap
Text File
|
1995-03-31
|
8KB
|
186 lines
(Comp.sources.hp48)
Item: 18 by detlef at mwhh.hanse.de
Author: [Detlef Mueller]
Subj: GARBAGE - Sokoban V1.3
Date: Tue Nov 12 1991
[Note: Although this game looks almost exactly like MOVE on Goodies Disk #3,
it runs much faster. The frustrating pauses are now gone. Try it! -jkh-]
Hi, world.
GARBAGE - yet another SOKOBAN for the HP48.
This should be the last update for some time B-).
The aim of the game is to solve puzzles of increasing complexity.
Features:
- implemented as library (no. 1111, 7602 bytes, checksum #F5FB)
- includes *50* levels
- high speed
- key repeat (to prevent key damage :-)
- undo last step
- save/restore capability
- select a level
- go to next/prev level
Changes vs. version 1.2:
- add level select
- the context data is stored in normal user RAM
- remove PGDT
- document go to next/prev level
- fix level 16 and 36
Installation:
To install the game, a) download the library and recall it into the
stack. Enter the port number (0,1,2) where you want to store it and
press STO. Then key 'GARBAGE.LIB' PURGE. Switch the HP48 off, then on
again. GARBAGE will now be installed as a library named GARBAGE (id
no. 1111).
Deinstallation:
To get rid of the game execute the following commands (if GARBAGE
is stored in port 1 or 2, make sure the card switch is set to R/W):
HOME @ switch to the home directory
1111 DETACH @ release GARBAGE library
:&:1111 PURGE @ search and purge GARBAGE
Run:
To play it, enter the LIBRARY GARBAGE menu and press the softkey named
GARB or just type GARB[ENTER] at the command line. The game starts
immediately, coming up with the following screen:
+---------------------------------+
| ################## GARBAGE |
| # # ********* |
| # # * * |
| # # * x * |
| # # * * |
| # # ********* |
| ################## VERSION |
+---------------------------------+
Symbol Means
***** A little logo with the actual level number displayed in
* x * the center of it (x).
*****
##### The game area (see below).
# #
#####
Keys:
Key Action
Left arrow Move actor one step left. Repeats if held down.
Right arrow Move actor one step right. Repeats if held down.
Up arrow Move actor one step up. Repeats if held down.
Down arrow Move actor one step down. Repeats if held down.
+/- Toggle sound on/off
STO Make a snapshot of the game
<- Restore game from last snapshot
DEL Set actual level to initial state (don't affect
saved game)
ENTER Undo last step
Blueshift ON Turn calculator off without leaving GARBAGE
Blueshift + Go to next level
Blueshift - Go to prev. level
ON Leave GARBAGE (Boss key .. :-)
Description (by Gilles Kohl):
In GARBAGE, you're in charge of garbage collection inside your HP48.
The 'garbage collector' is shown by a cross-shaped symbol. Your task
is to collect lost objects and move them onto free storage locations.
The characters in GARBAGE are: (all shapes 4x4 size, '.' = off,
'#' = on)
.#..
###. your 'collector' or mover.
.#.. Control using [left], [right], [up] and [down] arrows
.... (appears a little differently on storage locations, see below)
###.
#.#. a moveable object. Push them to their storage locations.
###. you may only push objects (no pulling them) and only one
.... object at a time.
....
.#.. an empty storage location. Push moveable objects upon them.
....
....
###.
###. successfully filled-up storage location.
###. (you may still move the object away again, if necessary)
....
#.#.
.#.# an unmoveable object. No way to move it - just stands in
#.#. your way.
.#.#
.#..
#.#. the 'mover' above an empty storage location.
.#.. (there is no special meaning to this, except to indicate
.... that you're above a storage location)
The aim of the game is filling up all storage locations by moving
all (moveable) objects to them. This successfully completes a
garbage collection task, and you're promptly assigned the next one.
(Unless you've solved them all).
Things to notice:
- On entering a new level (or when you make a snapshot with STO) the
game stores information about the context into a variable named
'gc.data' (670 bytes in size). If this variable already exists in
the path, it will be overwritten. Otherwise GARBAGE generates this
variable in the actual directory. The game will always come up with
this data (if it is found), so you can inter- rupt your task at
every point by pressing STO, then leaving with ON.
- It is also possible to select a level. Just store a real number in
the range 1 - 50 into 'gc.data' and GARBAGE will come up with the
associated level.
- If the data stored in 'gc.data' is invalid, the game starts at level
1.
- The sound toggle (+/-) modifies flag -56 permanently.
- GARBAGE doesn't destroy your PICT.
- If you get a 'Collection Failed' from the game, please mail me a
description of the circumstances and the contents of the stack.
GARBAGE traps any error, prints an error message and DOESN'T clean
up the stack. Use the interactive stack to view the stack, then
execute CLEAR !
- I will maintain this program, so feel free to mail me ideas for
improvements or notes of appreciation :-).
Hints:
Save early, save often .. ;-)
You can hold one context variable in every subdirectory, so more than
one person can be playing the game at once.
Credits:
1) Gilles Kohl - posted MOVE in Dec 90 (freeware)
I used the algorithms, pictures and parts of the documentation.
2) Douglas R. Cannon - SKUNK 1.0 (freeware, great animations)
I used his 'FANFARE' data
3) Yvonne - alpha tester
4) Raymond Hellstern - beta tester
5) Chris Spell - inserted the UUENCODE form of GARBAGE (thanks :-)
6) Markus Witt - reviewed this text
7) W. C. Wickes - \->ASC
8) HP Corvallis - RPL tools/HP48
9) Lutz Vieweg - asks for an undo feature
10) Robert Brunner - suggestions
11) Dan Ciarniello - reports the bug in level 36, suggestions
Happy playing,
8-), Detlef.
P.S. I don't take the blame for worn calculator keys :-).
All songs of praise about the game design to:
gilles@disys.dis.incom.de
P.P.S. Any questions ? Feel free to mail me =-) ...